Region-based Memory Management

نویسندگان

  • Mads Tofte
  • Jean-Pierre Talpin
چکیده

This paper describes a memory management discipline for programs that perform dynamic memory allocation and de-allocation. At runtime, all values are put into regions. The store consists of a stack of regions. All points of region allocation and de-allocation are inferred automatically, using a type and effect based program analysis. The scheme does not assume the presence of a garbage collector. The scheme was first presented in 1994 (M. Tofte and J.-P. Talpin, in ``Proceedings of the 21st ACM SIGPLAN SIGACT Symposium on Principles of Programming Languages,'' pp. 188 201); subsequently, it has been tested in The ML Kit with Regions, a region-based, garbage-collection free implementation of the Standard ML Core language, which includes recursive datatypes, higher-order functions and updatable references L. Birkedal, M. Tofte, and M. Vejlstrup, (1996), in ``Proceedings of the 23rd ACM SIGPLAN SIGACT Symposium on Principles of Programming Languages,'' pp. 171 183. This paper defines a region-based dynamic semantics for a skeletal programming language extracted from Standard ML. We present the inference system which specifies where regions can be allocated and de-allocated and a detailed proof that the system is sound with respect to a standard semantics. We conclude by giving some advice on how to write programs that run well on a stack of regions, based on practical experience with the ML Kit. ] 1997 Academic Press

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Towards Region-Based Memory Management for Mercury Programs

Region-based memory management is a form of compiletime memory management, well-known from the functional programming world. This paper describes region-based memory management for the Mercury language using some points-to graphs that model the partition of the memory used by a program into separate regions and distribute the values of the program’s variables over the regions. First, a region a...

متن کامل

Region-Based Memory Management for a Dynamically-Typed Language

Region-based memory management scheme has been proposed for the programming language ML. In this scheme, a compiler statically estimates the lifetime of each object by performing an extension of type inference (called region inference) and inserts code for memory allocation and deallocation. Advantages of this scheme are that memory objects can be deallocated safely (unlike with manual memory m...

متن کامل

Region-based Memory for CLI

Region-based memory management can offer increased time performance, providing support for real-time constraints in program execution. We have implemented region-based memory support into the SSCLI 2.0 platform and also devised a region inference system for CIL programs, with the aid of newly introduced instructions. Results seem promising, as the programs running with regions have considerably...

متن کامل

A Formal Soundness Proof of Region-Based Memory Management for Object-Oriented Paradigm

Region-based memory management has been proposed as a viable alternative to garbage collection for real-time applications and embedded software. In our previous work we have developed a region type inference algorithm that provides an automatic compile-time region-based memory management for object-oriented paradigm. In this work we present a formal soundness proof of the region type system tha...

متن کامل

A Retrospective on Region-Based Memory Management

We report on our experience with designing, implementing, proving correct, and evaluating a regionbased memory management system.

متن کامل

Automatic Region- Based Memory Management for Real-Time Embedded Systems

This paper presents an efficient static analysis algorithm, combinedwith a region allocation policy for real-time embedded Java applications. The goal of this work is to provide a static analysis mechanism efficient enough to be integrated in an assisted-development environment, and to implement region-based memory management primitives suited for resource-limited platforms such as smart cards ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Inf. Comput.

دوره 132  شماره 

صفحات  -

تاریخ انتشار 1997